package com.行为型模型.R观察者模式;

import java.util.ArrayList;
import java.util.List;

/**
 * 微信公众号是具体主题（具体被观察者），里面存储了订阅该公众号的微信用户，并实现了抽象主题中 的方法
 */
public class SubscriptionSubject implements Subject {

    //存储订阅公众号的微信用户
    private List<Observer> weixinUserList=new ArrayList<>();


    @Override
    public void attach(Observer observer) {
        weixinUserList.add(observer);
    }

    @Override
    public void detach(Observer observer) {
        weixinUserList.remove(observer);
    }

    @Override
    public void notifyUser(String msg) {
        for (Observer o:weixinUserList
             ) {
            o.update(msg);
        }
    }
}
